<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>websocket::stream</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Beast">
<link rel="up" href="../ref.html" title="This Page Intentionally Left Blank 2/2">
<link rel="prev" href="boost__beast__static_string/swap/overload2.html" title="static_string::swap (2 of 2 overloads)">
<link rel="next" href="boost__beast__websocket__stream/is_deflate_supported.html" title="websocket::stream::is_deflate_supported">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__beast__static_string/swap/overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__beast__websocket__stream/is_deflate_supported.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="beast.ref.boost__beast__websocket__stream"></a><a class="link" href="boost__beast__websocket__stream.html" title="websocket::stream">websocket::stream</a>
</h4></div></div></div>
<p>
        Provides message-oriented functionality using WebSocket.
      </p>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h0"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.synopsis"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.synopsis">Synopsis</a>
      </h5>
<p>
        Defined in header <code class="literal">&lt;<a href="../../../../../../boost/beast/websocket/stream_fwd.hpp" target="_top">boost/beast/websocket/stream_fwd.hpp</a>&gt;</code>
      </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">class</span> <span class="identifier">NextLayer</span><span class="special">,</span>
    <span class="keyword">bool</span> <span class="identifier">deflateSupported</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">stream</span>
</pre>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h1"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.types"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.types">Types</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/executor_type.html" title="websocket::stream::executor_type">executor_type</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  The type of the executor associated with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/is_deflate_supported.html" title="websocket::stream::is_deflate_supported">is_deflate_supported</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Indicates if the permessage-deflate extension is supported.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/next_layer_type.html" title="websocket::stream::next_layer_type">next_layer_type</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  The type of the next layer.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h2"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.member_functions"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/accept.html" title="websocket::stream::accept">accept</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Perform the WebSocket handshake in the server role. <br> <span class="silver">—</span><br> Read and respond to a WebSocket
                  HTTP Upgrade request. <br> <span class="silver">—</span><br>
                  Respond to a WebSocket HTTP Upgrade request.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_accept.html" title="websocket::stream::async_accept">async_accept</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Perform the WebSocket handshake asynchronously in the server role.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_close.html" title="websocket::stream::async_close">async_close</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket close control frame asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_handshake.html" title="websocket::stream::async_handshake">async_handshake</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Perform the WebSocket handshake asynchronously in the client role.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_ping.html" title="websocket::stream::async_ping">async_ping</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket ping control frame asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_pong.html" title="websocket::stream::async_pong">async_pong</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket pong control frame asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_read.html" title="websocket::stream::async_read">async_read</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Read a complete message asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_read_some.html" title="websocket::stream::async_read_some">async_read_some</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Read some message data asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_write.html" title="websocket::stream::async_write">async_write</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Write a complete message asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/async_write_some.html" title="websocket::stream::async_write_some">async_write_some</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Write some message data asynchronously.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/auto_fragment.html" title="websocket::stream::auto_fragment">auto_fragment</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set the automatic fragmentation option. <br> <span class="silver">—</span><br>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  automatic fragmentation option is set.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/binary.html" title="websocket::stream::binary">binary</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set the binary message write option. <br> <span class="silver">—</span><br>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  binary message write option is set.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/close.html" title="websocket::stream::close">close</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket close control frame.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/control_callback.html" title="websocket::stream::control_callback">control_callback</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set a callback to be invoked on each incoming control frame. <br>
                  <span class="silver">—</span><br> Reset the control frame
                  callback.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/get_executor.html" title="websocket::stream::get_executor">get_executor</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Get the executor associated with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/get_option.html" title="websocket::stream::get_option">get_option</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  <br> <span class="silver">—</span><br> Get the permessage-deflate
                  extension options.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/got_binary.html" title="websocket::stream::got_binary">got_binary</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  latest message data indicates binary.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/got_text.html" title="websocket::stream::got_text">got_text</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  latest message data indicates text.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/handshake.html" title="websocket::stream::handshake">handshake</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Perform the WebSocket handshake in the client role.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/is_message_done.html" title="websocket::stream::is_message_done">is_message_done</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  last completed read finished the current message.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/is_open.html" title="websocket::stream::is_open">is_open</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  stream is open.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/next_layer.html" title="websocket::stream::next_layer">next_layer</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Get a reference to the next layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/operator_eq_.html" title="websocket::stream::operator=">operator=</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Move assignment (deleted)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/ping.html" title="websocket::stream::ping">ping</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket ping control frame.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/pong.html" title="websocket::stream::pong">pong</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Send a websocket pong control frame.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/read.html" title="websocket::stream::read">read</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Read a complete message.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/read_message_max.html" title="websocket::stream::read_message_max">read_message_max</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set the maximum incoming message size option. <br> <span class="silver">—</span><br>
                  Returns the maximum incoming message size setting.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/read_size_hint.html" title="websocket::stream::read_size_hint">read_size_hint</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns a suggested maximum buffer size for the next call to read.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/read_some.html" title="websocket::stream::read_some">read_some</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Read some message data.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/reason.html" title="websocket::stream::reason">reason</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Returns the close reason received from the remote peer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/secure_prng.html" title="websocket::stream::secure_prng">secure_prng</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set whether the PRNG is cryptographically secure.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/set_option.html" title="websocket::stream::set_option">set_option</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  <br> <span class="silver">—</span><br> Set the permessage-deflate
                  extension options.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/stream.html" title="websocket::stream::stream">stream</a> <span class="silver">[constructor]</span></strong></span>
                </p>
              </td>
<td>
                <p>
                  Constructor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/text.html" title="websocket::stream::text">text</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set the text message write option. <br> <span class="silver">—</span><br>
                  Returns <code class="computeroutput"><span class="keyword">true</span></code> if the
                  text message write option is set.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/write.html" title="websocket::stream::write">write</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Write a complete message.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/write_buffer_bytes.html" title="websocket::stream::write_buffer_bytes">write_buffer_bytes</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Set the write buffer size option. <br> <span class="silver">—</span><br>
                  Returns the size of the write buffer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/write_some.html" title="websocket::stream::write_some">write_some</a></strong></span>
                </p>
              </td>
<td>
                <p>
                  Write some message data.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <span class="bold"><strong><a class="link" href="boost__beast__websocket__stream/_stream.html" title="websocket::stream::~stream">~stream</a> <span class="silver">[destructor]</span></strong></span>
                </p>
              </td>
<td>
                <p>
                  Destructor.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h3"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.description"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.description">Description</a>
      </h5>
<p>
        The <a class="link" href="boost__beast__websocket__stream.html" title="websocket::stream"><code class="computeroutput"><span class="identifier">stream</span></code></a> class template provides asynchronous
        and blocking message-oriented functionality necessary for clients and servers
        to utilize the WebSocket protocol. For asynchronous operations, the application
        must ensure that they are are all performed within the same implicit or explicit
        strand.
      </p>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h4"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.thread_safety"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.thread_safety">Thread
        Safety</a>
      </h5>
<p>
        <span class="emphasis"><em>Distinct</em></span><span class="emphasis"><em>objects:</em></span>Safe.
      </p>
<p>
        <span class="emphasis"><em>Shared</em></span><span class="emphasis"><em>objects:</em></span>Unsafe. The application
        must also ensure that all asynchronous operations are performed within the
        same implicit or explicit strand.
      </p>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h5"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.example"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.example">Example</a>
      </h5>
<p>
        To declare the <a class="link" href="boost__beast__websocket__stream.html" title="websocket::stream"><code class="computeroutput"><span class="identifier">stream</span></code></a> object with a <a class="link" href="boost__beast__tcp_stream.html" title="tcp_stream"><code class="computeroutput"><span class="identifier">tcp_stream</span></code></a> in a multi-threaded asynchronous
        program using a strand, you may write:
      </p>
<pre class="programlisting"><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">tcp_stream</span><span class="special">&gt;</span> <span class="identifier">ws</span><span class="special">{</span><span class="identifier">net</span><span class="special">::</span><span class="identifier">make_strand</span><span class="special">(</span><span class="identifier">ioc</span><span class="special">)};</span>
</pre>
<p>
        Alternatively, for a single-threaded or synchronous application you may write:
      </p>
<pre class="programlisting"><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">tcp_stream</span><span class="special">&gt;</span> <span class="identifier">ws</span><span class="special">(</span><span class="identifier">ioc</span><span class="special">);</span>
</pre>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h6"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.template_parameters"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.template_parameters">Template
        Parameters</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Type
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">NextLayer</span></code>
                </p>
              </td>
<td>
                <p>
                  The type representing the next layer, to which data will be read
                  and written during operations. For synchronous operations, the
                  type must support the <span class="emphasis"><em>SyncStream</em></span> concept.
                  For asynchronous operations, the type must support the <span class="emphasis"><em>AsyncStream</em></span>
                  concept.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <code class="computeroutput"><span class="identifier">deflateSupported</span></code>
                </p>
              </td>
<td>
                <p>
                  A <code class="computeroutput"><span class="keyword">bool</span></code> indicating
                  whether or not the stream will be capable of negotiating the permessage-deflate
                  websocket extension. Note that even if this is set to <code class="computeroutput"><span class="keyword">true</span></code>, the permessage deflate options
                  (set by the caller at runtime) must still have the feature enabled
                  for a successful negotiation to occur.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h7"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.remarks"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.remarks">Remarks</a>
      </h5>
<p>
        A stream object must not be moved or destroyed while there are pending asynchronous
        operations associated with it.
      </p>
<h5>
<a name="beast.ref.boost__beast__websocket__stream.h8"></a>
        <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.see_also"></a></span><a class="link" href="boost__beast__websocket__stream.html#beast.ref.boost__beast__websocket__stream.see_also">See
        Also</a>
      </h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-4.1" target="_top">Websocket
            Opening Handshake Client Requirements (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-4.2" target="_top">Websocket
            Opening Handshake Server Requirements (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-7.1.2" target="_top">Websocket
            Closing Handshake (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-5.5.1" target="_top">Websocket
            Close (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-5.5.2" target="_top">WebSocket
            Ping (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc6455#section-5.5.3" target="_top">WebSocket
            Pong (RFC6455)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc7230#section-5.4" target="_top">Host field
            (RFC7230)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc7230#section-3.1.1" target="_top">request-target
            (RFC7230)</a>
          </li>
<li class="listitem">
            <a href="https://tools.ietf.org/html/rfc7230#section-5.3.1" target="_top">origin-form
            (RFC7230)</a>
          </li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
      Falco<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__beast__static_string/swap/overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__beast__websocket__stream/is_deflate_supported.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
